说明:
Application Kit中包含Cocoa中关于用户界面的大量资源。
注意:学习这一章节时,Xcode的最新版本是7.2,部分知识已经过时。比如目前storyboard已经基本取代了xib。
15.1 构建项目
说明:下面是通过
Xcode构建Cocoa应用程序项目的步骤。
- File->New->New Project(Create a New Xcode Project)
- 左边列表
Mac OS X下的Application选项->Cocoa Application->Next- 项目信息
Product Name:应用名称Company Identifier:企业标识符,用来区分应用程序Class Prefix:伪命名空间,避免文件名冲突
- 复选框
Create Document-Based ApplicationUse Core DataInclude Unit TestUse Automatic Reference Counting
15.2 创建委托文件@interface部分
Interface Builder:简称IB,用可视化的方式为OS X和iOS布局窗口内容,构建用户界面。IBOutlet和IBAction:这两个关键字会经常出现在代码中,用于
- 为
Interface Builder提供标记- 帮助阅读代码
15.3 Interface Builder
说明:通过
.xib文件就可以打开IB的可视化编辑器。
- nib文件:编译时,
.xib(XML格式)文件会被编译为nib(NeXT Interface Builder)文件,它是包含了压缩对象的二进制文件,- 对象库:包含了大量可以拖入窗口的不同类型的对象。
15.4 设计用户界面
说明:对用户界面进行布局
- 拖入一个
Text Filed- 拖入一个
Label- 拖入一个
push button

15.5 创建连接
说明:将
代码与刚创建的用户界面元素相连接。
15.5.1 连接输出口(IBOutlet)
说明:通过拖动自动生成界面元素对应的代码。以其中的
Text Field为例子
- 打开辅助编辑器
- 按住
Control键将光标从文本框拖动到头文件中@property那一行的下面- 出现
Insert Outlet orAction提示消息时松开鼠标- 在弹出的对话框中输入
textField,点击Connect
15.5.2 连接操作(IBAction)
说明:将按钮连接到操作,这样按下按钮就会触发代码。以
UpperCae按钮为例
- 按住
Control键和UpperCase按钮- 拖动一条直线到
头文件的最后一行@property语句下- 弹出连接对话框,选择
Action类型- 在Name文本框中输入
uppercase,并点击Connect(自动在头文件中创建方法的声明,并在实现文件中创建方法的实现)
15.6 应用程序委托的实现
说明:
IBOutlet的工作方式
- 应用程序启动时,
MainMenu.nib被自动加载,界面对象被创建- 分配并初始化
MSCApplelegate实例(IBOutlet的实例变量)- 建立连接:将
NSTextField等对象的地址添加到MSCAppDelegate实例变量中,然后像每个每个界面对象发送awakeFromNib消息。
MSCAppDelegate.h
1 |
|
MSCAppDelegate.m
1 |
|
